while () { # first list next unless ( m:(.+?)#(\d+)$: ); $pathname_versions{$1} = $2; } #### while () { # second list next unless ( m:(.+?)#(\d+)$: ); ... if ( $pathname_versions{$1} < $2 ) { ...