`Page 1/2
`Saved: 10/29/01, 11:13:16 AM
`Printed for: Implicit
`
`=> "8001",¬
`=> "8011",¬
`=> "8012",¬
`=> "8013",¬
`
`#!/usr/bin/perl¬
`1
`use IO::Socket;¬
`2
`¬3
`$host = "127.0.0.1";¬
`4
`$blocksize = 1024*8;¬
`5
`¬6
`%ports = (¬
`7
` "local"
`8
` "remote"
`9
`"ipaq"
`10
`"multi"
`11
` );¬
`12
`$port = $ports{"local"};¬
`13
`¬14
`%files = (¬
`15
`"fightclub" => "c:\\avi\\fightclubrgb.avi",¬
`16
` "fightclub2" => "/scratch/avi/fightclub2.avi",¬
`17
` "minusman" => "/scratch/avi/minusmanrgb.avi",¬
`18
` "chrisfarley" => "/scratch/avi/chrisfarleyrgb.avi",¬
`19
` "matrix"
`=> "/scratch/avi/matrixhalfrgb.avi",¬
`20
` "mi2"
`=> "/scratch/avi/mi2rgb.avi",¬
`21
` "flashgordon" => "/scratch/avi/flashgordonrgb.avi",¬
`22
` "blazingsaddles"=> "/scratch/avi/blazingsaddlesrgb.avi",¬
`23
` "chopper"
`=> "/scratch/avi/chopper38rgbpcm.avi",¬
`24
` "thedish"
`=> "/scratch/avi/thedishrgb.avi",¬
`25
` "madmax"
`=> "/scratch/avi/madmaxrgb.avi",¬
`26
` "madmax2"
`=> "/scratch/avi/madmax2rgb.avi",¬
`27
` "tiger"
`=> "/scratch/avi/crouchingrgb.avi",¬
`28
` "potter"
`=> "/scratch/avi/hp2.avi",¬
`29
`¬30
`=>
` "funk"
`31
`"/aux/music/TheRedEyedFrogs-StickyForestFunk/track-001.mp3",¬
`…
`¬32
`);¬
`33
`¬34
`$arg = $ARGV[0];¬
`35
`¬36
`foreach $arg (@ARGV) {¬
`37
` if (-e $arg) {¬
`38
` push @filelist, $arg;¬
`39
` } elsif (defined $files{$arg}) {¬
`40
` push @filelist, $files{$arg};¬
`41
` } elsif (defined $ports{$arg}) {¬
`42
` $port = $ports{$arg};¬
`43
` } else {¬
`44
`
`#
`
`Page 1 of 2
`
`Implicit Exhibit 2023
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`/Users/implicit/Desktop/Source Code/2001.11.01/test/demo/source.pl
`Page 2/2
`Saved: 10/29/01, 11:13:16 AM
`Printed for: Implicit
`
` die "Unknown argument [$arg] not a keyword or file\n";¬
`45
` }¬
`46
`}¬
`47
`¬48
`¬49
`foreach $file (@filelist) {¬
`50
` pushfile ($host, $port, $file);¬
`51
`}¬
`52
`¬53
`¬54
`sub pushfile {¬
`55
` my($host,$port,$file) = @_;¬
`56
`¬57
` print "Sending $file to $host:$port\n";¬
`58
`¬59
` open FILE, $file || die "Could not open file [$file] : $\n";¬
`60
` binmode FILE;¬
`61
`¬62
` my $socket = new IO::Socket::INET(¬
`63
` PeerAddr => $host,¬
`64
` PeerPort => $port,¬
`65
` Proto => 'tcp',¬
`66
` );¬
`67
` die "Could not create socket : $!\n" unless $socket;¬
`68
`¬69
` $| = 1;¬
`70
` while (sysread (FILE,$block,$blocksize)) {¬
`71
` print ".";¬
`72
` print $socket $block;¬
`73
` }¬
`74
`¬75
` close FILE;¬
`76
` close $socket;¬
`77
`¬78
`}¬
`79
`¬80
`¬81
`82
`
`Page 2 of 2
`
`Implicit Exhibit 2023
`Sonos v. Implicit, IPR2018-0766, -0767
`
`