use Storable; use Time::Local; sub go { my $storeFile = '/db/users.store'; my $usersFile = (); if ( -e $storeFile ) { $usersFile = retrieve( $storeFile ); } # Do stuff and return me a precious overview of all my userids and their timestamps # # userid | timestamp # 1337 | Fri Dec 16 12:11:43 2022 # 1234 | ri Jan 20 09:21:36 2023 # ... } #### use Storable; sub go : Path { my $user = $common->{user}; # CMS Stuff: Get the current logged in user my $uid = $user->getInfo()->{id}; # CMS Stuff: Get his userid my $storeFile = '/db/users.store'; my $ts = localtime( time ); my $users = (); if (-e $storeFile) { $users = retrieve( $storeFile ); } $users->{$uid} = $ts; store $users, $storeFile; } #### my $storeFile = "/db/users.store.test"; my $users = (); my $ts; for (my $i = 0; $i < 2000; $i++){ $users = retrieve( $storeFile ); $ts = localtime( time ); foreach my $KEY ( keys % { $users } ){ print "#" . $KEY . "#" . $ts . "#\n"; $users->{$KEY} = $ts; store $users, $storeFile; } usleep(250); }